package fileby.model.impl.filemanagement;

import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.File;
import java.io.IOException;
import java.util.List;

/**
 *
 * @author Ludwig
 */
public interface IFileHandler {
    public boolean delete(List<File> fileList) throws SecurityException;

    public boolean rename(File file, File newName) throws SecurityException;

    public void run(List<File> fileList) throws IllegalArgumentException,
             IOException, SecurityException;

    public void copy(List<File> fileList) throws IllegalStateException;

    public void cut(List<File> fileList) throws IllegalStateException;

    public boolean lastActionWasCopy();

    public List<File> getClipboardContent()
            throws IllegalStateException, UnsupportedFlavorException, IOException;

    public boolean addFiles(List<File> fileList, File location, int action)
            throws IOException;

    public void createFolder(String dir) throws SecurityException;
}
